home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / CRESC / Variations / gen-evolve < prev    next >
Text File  |  1996-12-31  |  1KB  |  31 lines

  1. gen-evolve number operation symbol-pattern &optional how seed
  2.  
  3. This function is one of a pair with gen-consecutive. It makes possible the generation a sequence of variants which evolve one from another.
  4.  
  5. (gen-evolve 3 '(symbol-transpose 2 x) '(a b c d) :list)
  6. --> ((a b c d) (c d e f) (e f g h) (g h i j))
  7.  
  8. (gen-evolve 3  '(symbol-shuffle (symbol-transpose 2 x) 0.12) 
  9.             '(a b c d) :list)
  10. --> ((a b c d) (e f c d) (f g h e) (g j h i))
  11.  
  12. The operation can be any function expression with or without a parameter. The list must be quoted and the parameter x MUST be used to represent the symbol-pattern.
  13.  
  14. (gen-evolve 4 '(symbol-scroll 2 x) '(a b c d e))
  15. --> (a b c d e d e a b c b c d e a e a b c d c d e a b)
  16.  
  17. If the keyword :list is used the evolutions are contained in separate lists. If omited, as above, the evolutions are appended.
  18.  
  19. (gen-evolve 3 '(gen-random nil 8 x) 
  20.             '(a b c d e f g h) :list 0.12)
  21. --> ((a b c d e f g h) (d a c g a d c c) (a a c g c d c d) 
  22.      (a a a c a c d a))
  23.  
  24. Where randomization in an operation is necessary but the output needs to be recalled an optional random seed can be set.
  25.  
  26. Use :zones to evolve a zoned pattern.
  27.  
  28. (gen-evolve 3 '(symbol-transpose 2 x) '((a b c d) (a b c d)) :zones)
  29. --> ((a b c d) (a b c d) (c d e f) (c d e f) (e f g h) (e f g h) (g h i j) (g h i j))
  30.  
  31.